From Objects to Agent Societies: Abstractions and Methodologies for the Engineering of Open Distributed Systems
نویسنده
چکیده
We argue that the coming of the Internet era has raised issues that traditional object-oriented software engineering methodologies seem not ready to address. In this paper, we first discuss the intrinsic limitations of the object abstraction in the engineering of complex software systems, and compare it to the agent abstraction. Then, we show how an agent-oriented methodology should take into account interagent aspects such as the modelling of agent societies and of the agent space, by providing engineers with specific, ad hoc abstractions and tools. To this purpose, we introduce the SODA agent-oriented methodology for the analysis and design of Internet-based systems. SODA supplies the abstractions and procedures for engineering agent societies as well as the agent environment, including social infrastructures. The main idea in SODA is to exploit coordination models, languages, and infrastructures to address social issues. In particular, SODA shows how to choose a coordination model, how to exploit it to design social laws, how to embed them into a coordination medium, and how to build a suitable social infrastructure based on coordination services. 1 From Objectto Agent-Oriented Methodologies Object-oriented (OO henceforth) methodologies for the design and development of complex software systems have already proven to be effective and reliable. Generally speaking, they have shown how a suitably powerful abstraction (like the notion of object) can be fully exploited not only to define models and languages, but also to drive all the phases of the engineering of software systems. The coming of the Internet era, however, has raised new issues that OO models, languages and methodologies seem not ready to answer. Today’s applications are typically hosted by a multiplicity of distributed nodes, heterogeneous, dynamic, with no centralised control, and are often intrinsically open, in that their components are often unpredictable and unknown at design time. Moreover, the everincreasing number of inexperienced users of Internet-based applications is making the request for intelligence in software systems inescapable. The inadequacy of OO approaches does not derive from the methodologies, but from the object abstraction itself, which is not powerful enough to help in facing these new issues. Roughly speaking, an object is basically a reactive entity living in a closed world, where control is fully determined at the design level. Moreover, it offers no conceptual support, no natural place for embedding intelligent behaviour. Instead, most of these issues are properly addressed by the notion of agent [10], which may be fruitfully thought as a methodological abstraction, rather than a totally new and revolutionary concept. Despite the many different definitions of agenthood, there is a quite common agreement on the fact that an agent is characterised by autonomy, social ability, reactivity, and pro-activeness [11]. In particular, the deliberative capability of an agent is the natural place for whichever sort of intelligence is needed, in whichever form. Pro-activeness makes it possible to abstract from control, by designing systems in terms of tasks and delegating responsibility to agents, instead of control. Moreover, the intrinsic interactive nature of agent’s reactivity makes an agent a more reliable abstraction in unpredictable and dynamic environments. Even more, the notion of agent in its full acceptation has further relevant consequences from the methodological viewpoint. In particular, social ability makes it possible to put agents together to set up multi-agent systems (MAS, henceforth). While each agent tries to accomplish its own task(s) by interacting with other agents and with the surrounding environment, a MAS is typically meant to pursue more complex goals than the mere sum of its agents’ goals. This is typically done by organising agents into societies, defining or ruling their mutual interaction so as to produce useful global behaviours. Agent societies can themselves be exploited as independent, first-class abstractions in the engineering of complex software systems. Finally, when looking at agents as situated entities, which cannot be thought separately from the environment they live in, the idea of modelling a software system as a MAS without modelling the agents’ environment seems basically ineffective. Agents and societies live in environments that may be heterogeneous, dynamic, open, distributed and unpredictable, like the Internet is. Such features cannot have but a deep influence on the way in which software systems are built, when thought as MAS: so, agenthood calls for new abstractions modelling the agent’s environment, in terms of resources, services, topology, and so on. 2 Interaction as a Dimension for Software Engineering Methodologies By adopting an agent-oriented viewpoint, three issues emerge that are not covered by traditional OO methodologies: agenthood, societies, and environment. The first issue basically involves intra-agent aspects, that is, the analysis, design and development of individual agents. This is basically a computational issue [9], and agent-oriented engineering has been mainly concerned with this aspects, till now. Instead, the two latter issues concern the interaction of agents with their environment, the resources, and other agents, which is instead not so welladdressed by the existing literature on agent-oriented software engineering. By taking interaction as an independent dimension for the analysis, design and development of MAS, the point is then how such a dimension should affect methodologies for the engineering of complex software systems when they are built as MAS.
منابع مشابه
Method integration: An approach to develop agent oriented methodologies
Agent oriented software engineering (AOSE) is an emerging field in computer science and proposes some systematic ideas for multi agent systems analysis, implementation and maintenance. Despite the various methodologies introduced in the agent-oriented software engineering, the main challenges are defects in different aspects of methodologies. According to the defects resulted from weaknesses ...
متن کاملThe Application of Object-Oriented Analysis to Agent-Based Systems
Agents are important software abstractions for distributed problem solving and autonomous, proactive behavior. They have been used in many applications, including manufacturing, enterprise integration, network management, and advanced user interfaces for worldwide web applications. As agent systems become more prevalent, the need arises for software engineering methodologies. The relationships ...
متن کاملTaming Agents and Objects in Software Engineering
Agent-based software engineering has been proposed in addition to object-oriented software engineering as a means of mastering the complexity associated with the development of large-scale distributed systems. However, there is still a poor understanding of the interplay between the notions of agents and objects from a software engineering perspective. Moreover, the many facets of agent-based s...
متن کاملExperiencing AUML in the GAIA Methodology
In the last few years a great number of AOSE methodologies have been proposed, some of which centered on organizational aspects to better capture the behavior of agents societies. Those methodologies may be considered very useful for modeling open systems composed of a great number of interacting autonomous agents. Gaia exploits organizational abstractions to provide clear guidelines for the an...
متن کاملAdaptive Distributed Consensus Control for a Class of Heterogeneous and Uncertain Nonlinear Multi-Agent Systems
This paper has been devoted to the design of a distributed consensus control for a class of uncertain nonlinear multi-agent systems in the strict-feedback form. The communication between the agents has been described by a directed graph. Radial-basis function neural networks have been used for the approximation of the uncertain and heterogeneous dynamics of the followers as well as the effect o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000